Skip to content

exp: claude release command#795

Open
jasonmadigan wants to merge 2 commits intoKuadrant:mainfrom
jasonmadigan:release-command
Open

exp: claude release command#795
jasonmadigan wants to merge 2 commits intoKuadrant:mainfrom
jasonmadigan:release-command

Conversation

@jasonmadigan
Copy link
Copy Markdown
Member

@jasonmadigan jasonmadigan commented Apr 21, 2026

Experimental claude command for semi-automated releases.

Used this during 0.6 final

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive release procedure guide covering how to determine release type from version input, branch creation and verification, updating version references, regenerating release artifacts, staged review and manual push/PR workflow, publishing GitHub releases (including RC vs final handling), and post-release version bumps on main.

@jasonmadigan
Copy link
Copy Markdown
Member Author

CC: @david-martin @maleck13 for thoughts

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 21, 2026

📝 Walkthrough

Walkthrough

Adds a new release procedure document describing a command-driven workflow for creating releases from release-X.Y.Z branches: version parsing (final/RC/patch), fork/upstream verification, branch handling, running ./scripts/set-release-version.sh, optional OLM bundle regeneration, review/staging steps, PR creation, and post-merge release publication and verification.

Changes

Cohort / File(s) Summary
Release Documentation
​.claude/commands/release.md
New documentation detailing the release workflow: version argument parsing (RC/final/patch), forming release-X.Y.Z, verifying origin/upstream, pre-flight checks, set-release-version.sh usage, conditional make generate-all/make bundle, staged review/commit steps, manual push/gh pr create, GitHub release creation (pre-release for RCs), verification, and main bump for final releases.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'exp: claude release command' directly aligns with the core change: adding a new release procedure documentation file for semi-automated releases. It clearly summarizes the main contribution.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@jasonmadigan jasonmadigan marked this pull request as draft April 21, 2026 13:38
Comment thread .claude/commands/release.md
Signed-off-by: Jason Madigan <jason@jasonmadigan.com>
Copy link
Copy Markdown
Member

@david-martin david-martin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would this replace RELEASING.md?

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.claude/commands/release.md:
- Around line 39-45: The steps for creating a new release branch conflict with
branch protection: the sequence that directly pushes release-X.Y.Z to upstream
must be changed so it either documents that pushing requires admin override or
instructs to open a PR to create the branch from main; update the block that
references git checkout main, git checkout -b release-X.Y.Z and git push
upstream release-X.Y.Z (and the subsequent git checkout -b release-{VERSION}) to
explicitly state "git push upstream release-X.Y.Z  # Requires admin access to
bypass protection" or replace the direct push with instructions to request a
maintainer/create a PR to add the protected release-* branch from main.
- Line 67: The release script uses "git add -u config/ charts/ docs/ bundle/
scripts/" which only stages changes to tracked files and will miss newly created
files; replace that command with "git add -A config/ charts/ docs/ bundle/
scripts/" (or "git add .") to ensure new manifests are included, and optionally
add a verification step like "git status --porcelain" or "git ls-files --others
--exclude-standard" after the add to fail or warn if untracked files remain;
update the line containing the git add -u invocation accordingly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 9a6a29a8-5bb6-4a0b-a824-31e8933d0a5f

📥 Commits

Reviewing files that changed from the base of the PR and between 4876ac8 and d3ad96a.

📒 Files selected for processing (1)
  • .claude/commands/release.md

Comment thread .claude/commands/release.md Outdated
Comment thread .claude/commands/release.md
@jasonmadigan
Copy link
Copy Markdown
Member Author

Would this replace RELEASING.md?

Potentially? It was formed from it originally

@jasonmadigan jasonmadigan marked this pull request as ready for review April 21, 2026 13:40
Comment thread .claude/commands/release.md Outdated
Comment thread .claude/commands/release.md Outdated
Signed-off-by: Jason Madigan <jason@jasonmadigan.com>
@jasonmadigan
Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 22, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (2)
.claude/commands/release.md (2)

107-107: ⚠️ Potential issue | 🟡 Minor

git add -u won't stage new files.

If make bundle creates new manifests, they won't be staged. Previous review flagged this.

Fix
-git add -u config/ charts/ docs/ bundle/ scripts/
+git add config/ charts/ docs/ bundle/ scripts/
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.claude/commands/release.md at line 107, The current release step uses "git
add -u config/ charts/ docs/ bundle/ scripts/" which only stages modifications
and deletions and will miss any new files produced by make bundle; update the
command in .claude/commands/release.md (the line with "git add -u config/
charts/ docs/ bundle/ scripts/") to a form that stages new files as well (for
example replace with "git add -A config/ charts/ docs/ bundle/ scripts/" or "git
add . --all config/ charts/ docs/ bundle/ scripts/") so newly created manifests
are included in the commit.

174-174: ⚠️ Potential issue | 🟡 Minor

Same git add -u limitation here.

New files from make bundle won't be staged.

Fix
-git add -u config/ charts/ docs/ bundle/ scripts/
+git add config/ charts/ docs/ bundle/ scripts/
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.claude/commands/release.md at line 174, Replace the current git staging
command "git add -u config/ charts/ docs/ bundle/ scripts/" because "-u" will
not stage newly created files; use a command that includes new files such as
"git add -A config/ charts/ docs/ bundle/ scripts/" or "git add --all" (or
simply "git add ." when appropriate) so that files produced by make bundle are
included.
🧹 Nitpick comments (1)
.claude/commands/release.md (1)

116-125: Add language identifier to code blocks.

Lines 116, 121, 181, 186: Fenced code blocks should specify bash for syntax highlighting.

Example fix
 > Ready for you to push and open the PR. Run:
-> ```
+> ```bash
 > git push -u origin release-{VERSION}
 > ```

Apply similar change to lines 121, 181, 186.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.claude/commands/release.md around lines 116 - 125, Add the "bash" language
identifier to the fenced code blocks that contain shell commands so they render
with syntax highlighting: update the triple-backtick fences that wrap the git
push and gh pr create commands (the blocks currently showing ``` with contents
"git push -u origin release-{VERSION}" and the "gh pr create --repo
Kuadrant/mcp-gateway..." block, plus the two other fenced code blocks
referenced) to start with ```bash instead of ```, leaving the block contents
unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In @.claude/commands/release.md:
- Line 107: The current release step uses "git add -u config/ charts/ docs/
bundle/ scripts/" which only stages modifications and deletions and will miss
any new files produced by make bundle; update the command in
.claude/commands/release.md (the line with "git add -u config/ charts/ docs/
bundle/ scripts/") to a form that stages new files as well (for example replace
with "git add -A config/ charts/ docs/ bundle/ scripts/" or "git add . --all
config/ charts/ docs/ bundle/ scripts/") so newly created manifests are included
in the commit.
- Line 174: Replace the current git staging command "git add -u config/ charts/
docs/ bundle/ scripts/" because "-u" will not stage newly created files; use a
command that includes new files such as "git add -A config/ charts/ docs/
bundle/ scripts/" or "git add --all" (or simply "git add ." when appropriate) so
that files produced by make bundle are included.

---

Nitpick comments:
In @.claude/commands/release.md:
- Around line 116-125: Add the "bash" language identifier to the fenced code
blocks that contain shell commands so they render with syntax highlighting:
update the triple-backtick fences that wrap the git push and gh pr create
commands (the blocks currently showing ``` with contents "git push -u origin
release-{VERSION}" and the "gh pr create --repo Kuadrant/mcp-gateway..." block,
plus the two other fenced code blocks referenced) to start with ```bash instead
of ```, leaving the block contents unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 06b406e6-b856-48be-b5d8-14802ba31dc1

📥 Commits

Reviewing files that changed from the base of the PR and between d3ad96a and a75f203.

📒 Files selected for processing (1)
  • .claude/commands/release.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants